CX_USER
Class hierarchy
Description:
This class represents a user.
Cryptography Information
The user password is stored in hashed form in slot password.password and can be changed with PasswordMA(). With CheckPasswordHash it can be checked whether a clear text password matches the hashed password and with LoginHash the user can be logged in with his rights on the system.
196454
The hash algorithms currently available are "bcrypt" and "SHA1" and are stored in slot password.standard. This slot is automatically set to "bcrypt" by PasswordMA() if not set otherwise. If the slot is not set, the password is hashed with "SHA1". If the used algorithm is changed, then the password must be hashed again by a call to PasswordMA(), because otherwise the hash does not match the password anymore and CheckPasswordHash and LoginHash cannot work correctly.
bcrypt is the cryptographically more secure hash algorithm and should replace SHA1 in the long term.
Code example:
Function | MA* | Parameters | Return | Brief description |
---|---|---|---|---|
CheckPassword | STRING | INTEGER | Verification of the password. | |
CheckPasswordHash | STRING | INTEGER | Check the password (saved password is a hash value). | |
ClearingObjectOfPartner | STRING, INTEGER | OBJECT | ||
HasPassword | INTEGER | INTEGER | ||
Login | STRING | INTEGER | Log in | |
LoginHash | STRING | INTEGER | Log in (saved password is a hash value) | |
LoginSID | INTEGER | Login via SID from DLL version 4.7.176877 | ||
Logout | Log out | |||
PasswordMA | * | INTEGER, INTEGER | Access to the password (saved password is a hash value) | |
ReinitializeLogin | ? | |||
SanityCheck | INTEGER | Check for consistency of the object | ||
SetLogoutTime | OBJECT, OBJECT | Set logout time | ||
This | OBJECT | |||
Access | STRING, INTEGER | OBJECT | Returns access object of the desired type (result is the first object found) | |
AllAccess | STRING, INTEGER | VECTOR 197549 COLLECTION | Returns access object of the desired type (result is all objects found) | |
Address | OBJECT | Delivers the address | ||
AllocatedObject | STRING, INTEGER | OBJECT | Returns allocated object of the desired type | |
AllocatedObjectMA | * | STRING, INTEGER | Access to allocated objects of a desired type | |
Allocation | STRING, INTEGER | OBJECT | Returns allocation of the desired type | |
AllocationMA | * | STRING, INTEGER | Access to allocation of the desired type | |
Allocations | COLLECTION | Allocations not related to this object | ||
Allocators | COLLECTION | Allocations relating to this object | ||
CastedStructureByCondition | STRING | OBJECT | ||
ClassFilter | STRING, INTEGER | OBJECT | This object, if it corresponds to a certain class | |
ClearingObject | STRING, INTEGER | OBJECT | Assignment to settlement objects | |
ClearingObjectMA | * | STRING, INTEGER | Assignments to settlement objects | |
ConditionedFilter | STRING | OBJECT | ||
ConditionedFilter2 | OBJECT | OBJECT | ||
ConnectStateStructure | OBJECT, STRING | Connect to the status structure | ||
Customer | OBJECT | Delivers billing object "Customer" (CX_CUSTOMER) | ||
CyberEnterprise | OBJECT | Delivers billing object "client" (CX_CYBER_ENTERPRISE) | ||
Deleted | INTEGER | Object marked as deleted? | ||
DeRegisterStructures | OBJECT | ? | ||
Description | STRING | Name of this object | ||
Employee | OBJECT | Delivers payroll object "employee" (CX_EMPLOYEE) | ||
EmployeeByFirstChoiceOfCE | OBJECT | Supplies the settlement object "Employee" (CX_EMPLOYEE) from the partner who is (if possible) employed by the current client | ||
EmployeeOfCE | OBJECT | Supplies the settlement object "Employee" (CX_EMPLOYEE) from the partner who is employed by the current client | ||
EvaluateTotalMonitors | STRING, INTEGERSTRING | OBJECT | ? | |
Fax | OBJECT | Returns the fax number | ||
Flextimer | OBJECT | Delivers payroll object "Flexitime employees" (CX_FLEXTIMER) | ||
ForceMonitor | STRING | OBJECT | ? | |
GeographicPosition | OBJECT | Returns the geographical position | ||
GetDomain | INTEGER | Domain of this object | ||
GetSiblings | COLLECTION | All siblings of this object | ||
GetSiblings2 | COLLECTION | All siblings of this object | ||
GetSlotEntries | VECTOR<object>>/ob | Return of internal information about slots | ||
GetStructure | OBJECT | OBJECT | Search for a subordinate structure that belongs to the same hierarchy | |
InsertMonitor | OBJECT | ? | ||
LastUpdate | OBJECT | Date of the last write access | ||
LastUser | INTEGER | User who last had write access to the object | ||
link | OBJECT | Add this object to the list of objects with validity | ||
MasterObject | OBJECT | ? | ||
Monitor | STRING | OBJECT | ? | |
Name | INTEGER | STRING | Return name formatted | |
NextValidObject | OBJECT | Subsequent validity object in time | ||
PartnerAccess | STRING | OBJECT | Assignment to settlement objects | |
PersonalAccount | OBJECT | Delivers billing object "Personal account" (CX_PERSONAL_ACCOUNT) | ||
Phone | OBJECT | Returns the phone number | ||
POBoxAddress | OBJECT | Delivers the mailbox address | ||
PreviousValidObject | OBJECT | Previous validity object in time | ||
RegisterStructures | OBJECT | ? | ||
RegisteredStructure | OBJECT | ? | ||
RemoveMonitor | OBJECT | ? | ||
RemoveStateStructure | STRING | Find status structure by uniqueID and disconnect | ||
Representative | OBJECT | Delivers billing object "Representative" (CX_REPRESENTATIVE) | ||
RestrictedValidity | * | Area of validity restricted? | ||
SalaryMan | OBJECT | Delivers settlement object "Salary recipient" (CX_SALARY_MAN) | ||
SetDomain | INTEGER, INTEGER | Set domain | ||
SetStructure | OBJECT | Ensures that a structure becomes a subordinate structure | ||
SexTitle | INTEGER | STRING | Return salutation | |
ShortName | STRING | Short name of this object | ||
Siblings | * | Objects with validity | ||
Site | OBJECT | Delivers the pitch | ||
SpanDateValidity | * | Period of validity | ||
Speech | INTEGER, INTEGER, INTEGER | STRING | Create complete salutation | |
StateStructure | STRING | OBJECT | Find status structure after uniqueID (STRING) (not wrapped) | |
StateStructureWrapper | STRING | OBJECT | Find status structure by uniqueID | |
StreetAddress | OBJECT | Returns the street address | ||
string | INTEGER | CX_STRING | Returns the string representation of the object | |
StructureByCondition | STRING | OBJECT | Subordinate structure with a specific condition | |
StructureByID | STRING | OBJECT | Subordinate structure with a certain unique key | |
StructureByIDMA | * | STRING | Subordinate structures with a certain unique key | |
StructureByType | STRING, INTEGER | OBJECT | Subordinate structure of a certain type | |
SubObjects | INTEGER | COLLECTION | ? | |
Supplier | OBJECT | Delivers settlement object "Supplier" (CX_SUPPLIER) | ||
Teletex | OBJECT | Returns the teletex number | ||
Telex | OBJECT | Delivers the telex number | ||
Title | STRING | Return title | ||
TotalMonitors | STRING, INTEGERSTRING | OBJECT | ? | |
TriggeredStateStructure | STRING | OBJECT | Attempts to advance the status structure and returns the new status structure (not wrapped) | |
TriggeredStateStructureWrapper | STRING | OBJECT | Attempts to advance the status structure and returns the new status structure (wrapped) | |
TriggerStateStructures | Switches all status structures forward | |||
UniqueID | STRING | Content of the fixed data field "uniqueID | ||
Unlink | Remove this object from the list of objects with validity | |||
Unlink2 | Remove this object from the list of objects with validity | |||
User | OBJECT | Returns billing object "User" (CX_USER) | ||
Valid | OBJECT | INTEGER | Check validity | |
ValidSince | OBJECT | Start of validity period | ||
ValidToday | INTEGER | Valid today? | ||
ValidUntil | OBJECT | End of validity period | ||
VerifySiblings | INTEGER | Check ring of exchange objects |
* MA = Member Access function,
grey background = inherited function
Data field | Type | Reference class | I* | Brief description |
---|---|---|---|---|
accessControlSID | STRING | SID for login via SID (LoginSID) | ||
accessSecurity | POINTER | CX_SECURITY | The user's access rights, which are activated when logging into the system. | |
lastLogin | CX_GLOBAL_DATETIME | Date and time of last login | ||
lastLogout | CX_GLOBAL_DATETIME | Date and time of the last logout | ||
password | POINTER | CX_EXPANDABLE | Password | |
terminal | STRING | Computer name (terminal) where the user is/was logged in | ||
userNumber | CX_SHORT | User number | ||
allocations | REL_MN | CX_EXPANDABLE | ? | |
clearingObjects | REL_MN | CX_CLEARING_OBJECT | Payroll accounting areas | |
generalTerms | REL_1M | CX_GENERAL_TERMS | ? | |
monitors | REL_MN | CX_MONITOR | ? | |
partner | REL_1M | CX_PARTNER | Partner this type describes | |
partnerCastControl | INTEGER | Flags | ||
structures | REL_MN | CX_EXPANDABLE | Organisational Structures | |
uniqueID | STRING | * | Unique key | |
validity | POINTER | CX_VALIDITY | Validity period of the object |
* I = Indexable data field,
grey background = inherited data field
Module | Brief description |
---|---|
user.mod | User base module |
useredt.mod | User editing module |
usersel.mod | User selection module |
password.mod | Password Module |